Noise Injection Heuristics for Concurrency Testing

نویسندگان

  • Bohuslav Krena
  • Zdenek Letko
  • Tomás Vojnar
چکیده

Testing of concurrent software is difficult due to the nondeterminism present in scheduling of concurrent threads. Existing testing approaches tackle this problem either using a modified scheduler which allows to systematically explore possible scheduling alternatives or using random or heuristic noise injection which allows to observe different scheduling scenarios. In this paper, we experimentally compare several existing noise injection heuristics both from the point of view of coverage of possible behaviours as well as from the point of view of error discovery probability. Moreover, we also propose a new noise injection heuristics which uses concurrency coverage information to decide where to put noise and show that it can outperform the existing approaches in

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Advances in noise-based testing of concurrent software

Testing of concurrent software written in programming languages like Java and C/C++ is a highly challenging task due to the many possible interactions among threads. A simple, cheap, and effective approach that addresses this challenge is testing with noise injection which influences the scheduling so that different interleavings of concurrent actions are witnessed. In this paper, multiple resu...

متن کامل

Analysis and Testing of Concurrent Programs

In this paper, a methodology for deriving concurrency coverage metrics which measure how well the synchronisation and concurrency-related behaviour of tested programs has been examined is introduced. Next, our experiences with testing multi-threaded programs using a noise injection technique are discussed showing that there is no silver bullet among the noise injection techniques. Finally, a no...

متن کامل

Testing of Concurrent Programs Using Genetic Algorithms

Noise injection disturbs the scheduling of program threads in order to increase the probability that more of their different legal interleavings occur during the testing process. However, there exist many different types of noise heuristics with many different parameters that are not easy to set such that noise injection is really efficient. In this paper, we propose a new way of using genetic ...

متن کامل

ANaConDA: A Framework for Analysing Multi-threaded C/C++ Programs on the Binary Level

This paper presents the ANaConDA framework that allows one to easily create dynamic analysers for analysing multi-threaded C/C++ programs on the binary level. ANaConDA also supports noise injection techniques to increase chances to find concurrency-related errors in testing runs. ANaConDA is built on top of the Intel’s framework PIN for instrumenting binary code. ANaConDA can be instantiated fo...

متن کامل

Multi-objective Genetic Optimization for Noise-Based Testing of Concurrent Software

Testing of multi-threaded programs is a demanding work due to the many possible thread interleavings one should examine. The noise injection technique helps to increase the number of thread interleavings examined during repeated test executions provided that a suitable setting of noise injection heuristics is used. The problem of finding such a setting, i.e., the so called test and noise config...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011